package com.winner.data.entity.request;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.Length;

import com.alibaba.excel.annotation.ExcelProperty;
import com.winner.data.constant.RegexConst;

import lombok.Data;

/**
 * @Positive 表示值必须是正数
 * @PositiveOrZero表示值可以是 0 或正数
 * @Negative  必须是负数
 * @NotNull(message = "年龄不能为空") 注意message一定要写, 否则使用的就是默认的 '不能为null'
 * @Max(value = 100, message = "成绩不能大于{value}")
 * @Min(value = 0, message = "成绩不能小于{value}")
 * @Range(min = 0, max = 100, message = "成绩范围为 {min} 到 {max} 之间")
 */
@Data
public class UserImport {

    @Length(max = 5, message = "姓名长度不能大于{max}")
    @ExcelProperty("姓名")
    @NotBlank(message = "姓名不能为空") // 只能作用于字符串
    private String name;

    // @Pattern注解是不为空的时候校验, [男|女] (男|女) 其实括号都可以不要 男|女
    @Pattern(regexp = "男|女", message = "性别必须是男或女")
    @ExcelProperty(value = "性别")
//    @ExcelProperty(value = "身份证号码",converter = IdLetterConvertor.class) 自定义的类型转换器, 读的时候会转换,但还是建议自己写bean转换的时候用枚举类转换
    private String gender;


    @ExcelProperty("出生日期")
    @Pattern(regexp = RegexConst.DATE_SLASH_REG, message = "出生日期格式错误, 请按照yyyy/MM/dd填写")
    private String birthdate;

}
